TestMate
- Reduces the cost of software engineering and testing through
extensive automation
- Increases software quality by performing coverage analysis of
your software, giving you accurate information about the
completeness of your software testing
- Lowers project risk by ensuring that your software, test cases,
scripts, and results are always consistent and reproducible
- Raises productivity of teams by improving communication
between developers and test engineers and by providing highly
effective test-management tools and a common framework for all
software-testing activities
- Increases your level of software reuse by fostering the
development of well-tested components
TestMate (TM) is a comprehensive set of tools that automate the
development, management, performance, and evaluation of functional
and structural software tests. TestMate reduces the cost of your
software development, testing, and maintenance and improves the
quality of your software. TestMate operates on leading open-systems platforms in conjunction with Rational Apex (R), Rational's
integrated, interactive, team-oriented, Ada software-engineering
environment. Rational Apex and TestMate are part of Rational's
modern, Ada-based, software-engineering solution, which comprises
a set of software processes, products, and services that give you
control of your software-development efforts and sharpen your
competitive edge.
Automates the process of software testing
Today's critical software systems can have extremely complex
requirements, involving hundreds or thousands of tests. Determining
correct software behavior can involve sophisticated analysis.
Software requirements can be poorly understood, requiring labor-intensive analysis to determine when testing is complete. Test
cases, test data, and the software being tested usually exist in
different versions and variants throughout the project's lifetime.
TestMate allows you to easily compose test cases into test suites
that can be executed and evaluated automatically. During execution,
TestMate collects data about each test case: the pass/fail status,
CPU and elapsed-execution time, and information on block or
decision coverage. TestMate provides powerful capabilities to
analyze and refine the test-run information for use in reporting and
test-suite generation. The testing process is made easy, automatic,
and flexible, helping reduce your investment in testing efforts.
TestMate automates and controls the testing process
throughout the lifecycle.
Offers nonintrusive coverage analysis
TestMate performs both block and decision-coverage analysis.
Because coverage analysis is nonintrusive, it is performed with no
need to modify your source code or to recompile or relink. When a
test script is executed, simply specify that you want to collect
coverage information and TestMate will invoke the test cases under
the control of the coverage analyzer, giving you the information you
need to evaluate the effectiveness of your testing.
Simplifies all testing activities
TestMate supports unit, integration, and regression testing and is an
effective tool for both development and test organizations. During
unit test, TestMate provides a consistent framework for test
development, making it easy to write test cases and collect results.
Coverage information shows you when you have not completely
tested a unit---and exactly which statements or decisions are not
being tested. During integration, TestMate makes it simple to
combine test suites into more complex test runs and analyze the
results. During regression testing, you can use TestMate's powerful
differential analysis to compare a test run against prior runs,
identifying new failing tests as well as areas that are no longer
covered by your test suite.
Enhances understanding and use of test results
Test-run information can be sorted, reduced, and expanded, letting
you focus on the information most important to your project. For
example, you can look at all tests failing with an unhandled
exception or focus on passing tests in a particular subsystem,
sorted by level of coverage. TestMate's differential analysis allows
you to compare different test runs for pass/fail analysis or to
evaluate how coverage increases or decreases, at the level of a
subsystem, library unit, or subprogram.
Improves communication between teams
During integration, test-run information can be displayed to show
only the tests failing for a particular unit or failure mode. With a
single command, TestMate can produce a new test list of these
tests. This test list can be provided directly to the developer, so
that full use can be made of the information gained in integration
testing. Developers can use the coverage information collected in
integration or regression testing to find all test cases available
that test a unit under development, so the effect of change can be
evaluated easily. Under TestMate's common framework, development
and test teams achieve maximum use of test cases and knowledge
gained in testing, improving your productivity and reducing your
development costs.
Adapts to your project needs
TestMate supports an effective testing methodology but is an open
system, allowing you to adapt it easily for project needs. TestMate
allows each component of your test case to be configured to your
requirements. Test drivers can be arbitrarily complex; tests can use
prologs, epilogs, and evaluation actions that can be arbitrary UNIX
programs. TestMate evaluation actions--the steps taken to
determine whether a test case passed or failed--can involve
elaborate analysis. Test data can be in any machine-readable form,
or it can be supplied interactively by the user. TestMate supports
any testing process--including yours.
Allows reuse of software tests
TestMate allows you to specify abstract test cases that include a
test driver, input data, expected results, evaluation action, pre- and
postconditions, and so on. TestMate allows you to defer specifying
the version and location of each component until the time of
execution, so you can easily reuse test cases in different
combinations. During regression testing, different versions of the
software being tested are specified, letting you rerun test suites
against new configurations of test components.
Ensures project control over testing process
TestMate is fully integrated with the Subsystems and Configuration
Management and Version Control (CMVC) facilities provided by
Rational Apex. This means that all your test input data, test cases,
and expected output are always consistent with your architecture,
design, documentation, and software. TestMate records the actual
test configurations used at each step, giving you accurate
traceability throughout the testing process.
Required configuration
TestMate operates in conjunction with Rational Apex on each open-systems platform where Rational Apex is available.
D-82B; last updated 10/2/95